#include <spdlog.h>

#include "applogger.h"
#include "config.h"

#if defined (CONSOLE_LOG)
auto logger = spdlog::stdout_color_mt("console");
#else 
auto logger = spdlog::basic_logger_mt("logs", "logs.txt");
#endif

template<typename T>
void info(const T &msg)
{
    logger->info(msg);
}

template<typename T>
void warn(const T &msg)
{
    logger->warn(msg);
}

template<typename T>
void error(const T &msg)
{
    logger->error(msg);
}

template<typename Arg1, typename... Args>
void info(const char *fmt, const Arg1 &a, const Args &... args)
{
    logger->info(fmt,a,args...);
}

template<typename Arg1, typename... Args>
void warn(const char *fmt, const Arg1 &a, const Args &... args)
{
    logger->warn(fmt,a,args...);
}

template<typename Arg1, typename... Args>
void error(const char *fmt, const Arg1 &a, const Args &... args)
{
    logger->error(fmt,a,args...);
}